package usually;
//209. 长度最小的子数组
public class Num209_minSubArrayLen {
    public int minSubArrayLen(int target, int[] nums) {

        int res = 0;
        int sum = 0;
        int start = 0;
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
            while (sum - nums[start] >= target){
                sum -= nums[start];
                start++;
            }
            if (sum >= target){
                if (res == 0 || res > i - start + 1){
                    res = i - start + 1;
                }
            }


        }
        return res;






















//        int res = 0;//保存结果
//        int sum = 0;//保存和
//        int start = 0;//窗口左端
//        for (int i = 0; i < nums.length; i++) {
//            sum += nums[i];
//            while (sum - nums[start] >= target ){
//                sum -= nums[start];
//                start++;
//            }
//            if (sum >= target){
//                int n = i - start + 1;
//                if (res == 0 || res > n)res = n;
//
//            }
//
//        }
//        return res;

    }
}
